package cn.zxyh.mapper;

import cn.zxyh.pojo.Bill;
import cn.zxyh.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 账单对应的dao操作
 * By Albert 2020-0525
 */
public interface BillMapper {
    /**
     * 添加账单是由外部添加，此处使用虚构的账单
     * @param bill
     */
    void addBill(Bill bill);                //添加账单

    /**
     * 管理员权限下，查看所有账单信息
     * @return BillList
     */
    List<Bill> findBillAll();               //查看全部账单，管理员的权限

    /**
     * 普通用户的权限下查看个人的账单信息
     * @param user
     * @return
     */
    List<Bill> findByUser(@Param("user")User user,@Param("type")int type);       //查看用户自己的账单，普通用户的账单

    /**
     * 单独查询一条账单记录
     * @param id
     * @return Bill
     */
    Bill findById(int id);

    /**
     * 普通用户缴费后，账单状态的变更
     * @param billId
     * @return
     */
    int updateBillStatus(int billId);       //缴费提交更新账单信息


}
